<?php
class dgii extends Controller 
{
	public function __construct()
	{
		parent::Controller();
		$this->load->model(array('mcompania','mestatus','metapas','mjurisdiccion','mresponsable',
		'mservicios','provincias','usuarios','mprocesos','mmodeloservicios','mmodeloetapas'));
	}
	function index()
	{
	if ($this->session->flashdata('status_message')) {
			$mensaje = $this->session->flashdata('status_message');
		}
	else 
	   $mensaje='';		
	$this->load->view('main', array('content_page' => 'maindgii','menutop'=>1,'mensage'=>$mensaje));
	}
	
  function entrega()
	{
	$this->load->view('main', array('content_page' => 'entrega','menutop'=>5));
	}
	
	 function venta()
	{
	$this->load->view('main', array('content_page' => 'venta','menutop'=>5));
	}
	
	function edit($idcompania)
	{
		$com=$this->mcompania->LoadCompaniaById($idcompania);
		$this->load->view('main', array('content_page' => 'compania_edit','menutop' => 1,'compania' => $com,
		'jurisdicciones'=>$this->mjurisdiccion->LoadJurisdiccion(),
		'responsables'=>$this->mresponsables->Loadresponsables(),
		'servicios'=>$this->mservicios->Loadservicios(),
		'provincias'=>$this->provincias->LoadProvincias()));
	}
	
	function delete()
	{
		$ids = $this->input->post('delete_rows');
		
		if($this->mcompania->Delete($ids) !== false) 
		{
			echo 'El Registro fue eliminado satisfactoriamente';
		} 
		else 
		{
			echo 'Hubo un error eliminando el Registro.  Intentelo nuevamente mas tardeo comuniquese con el administrador';
		}
	}
	
	function lote()
	{
		$this->load->view('main', array('content_page' => 'lote','menutop'=>1));
	}
	

		function lotefrom($d)
	{
		
		$var = explode('.',$d);
		$this->load->view('main',array('content_page'=> 'stapalote',
		                               'menutop'=>1,
		                               'etapas'=>$this->metapas->LoadEtapas(),
		                               'estatus'=>$this->mestatus->LoadEstatus(),
		                               'responsables'=>$this->mresponsables->Loadresponsables(),
		                               'var'=>$var));
	}
	
		function hsegui($id_registro)
	{
		$this->load->view('main', array('content_page' => 'rseguimientos','id'=>$id_registro,'menutop'=>'2'));
	}
	
	function finalizarv()
	{
		
		
		$ids = $this->input->post('final_rows');

		$pro = $this->mprocesos->loadLastProceso($ids);
		$pro = $this->mprocesos->loadProcesoById($pro);
		$mod = $pro->getIdEtapa();
		
	    $this->load->view('main',array('content_page'=>'crearcompania','menutop'=>1));
		
	}
	
		function finalizar($ids)
	{
		

		$pro = $this->mprocesos->loadLastProceso($ids);
		$pro = $this->mprocesos->loadProcesoById($pro);
		$mod = $pro->getIdEtapa();
   
		  $fecha = date('Y-m-d');
		
         	$data = array('EstadoCompania'=>1,
              	            'FechaHistorico'=>$fecha);
              	 
         
		if($this->mcompania->UpDateDosDgii($ids,$data) == true)
		{
			
			$mensaje = 'El Servicio fue finalizado satisfactoriamente';
			$this->load->view('main', array('content_page' => 'maindgii','menutop'=>1,'mensage'=>$mensaje));
		}
		else
		{
			echo 'Hubo un error finalizando el Servicio.  Intentelo nuevamente mas
						tarde o comuniquese con el administrador';
		}


	}
	
	
	
	function data($id)
	{
		
		$page = $this->input->post('page') ? $this->input->post('page') : 1;
		$sortname = $this->input->post('sidx') ? $this->input->post('sidx') : $this->input->post('sidx');
		$sortorder = $this->input->post('sord') ? $this->input->post('sord') : 'asc';
		$limit = $this->input->post('rows') ? $this->input->post('rows') : 10;

		$start = $limit * $page - $limit;
		if($start < 0) $start = 0;

		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
		header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
		header("Cache-Control: no-cache, must-revalidate" );
		header("Pragma: no-cache" );


		

			$records = $this->mdgii->LoadCompanias(0,$id,$start, $limit, $sortname, $sortorder);

		
		$totalRecords = $this->mdgii->GetCount();

		$totalPages = ceil($totalRecords/$limit);
		if ($page > $totalPages) $page = $totalPages;

		$json_output = array(
		'page'		=> $page,
		'total'		=> $totalPages,
		'records'	=> $totalRecords,
		'rows'		=> array()
		);
		if($records != false)
		{
			foreach($records as $compania)
			{

				$servicio=$this->mservicios->LoadServicioById($compania->getIdServicio());
				$jurisdiccion=$this->mjurisdiccion->LoadjurisdiccionById(
				$compania->getIdJurisdiccion());
				$tiemposervicio=$servicio->getTiempoServicio();
				$usuario=$this->usuarios->LoadUsuarioById($compania->getIdUsuario());
				$user=$usuario->getUsernameUsuario();
				$proceso=$this->mprocesos->loadLastProceso($compania->getIdCompania());
				$proceso=intval($proceso);
				if ($proceso=='' or !isset($proceso) or $proceso==0)
				{

					$proceso='Inicio';
					$etapa_str=$proceso;
					$estatus_str='Creada';
					$etapa_tiempo=1;
					$ultimatransaccion=$this->CalcularDias($compania->getFechaUsrCompania(),
					date('Y-m-d'));
				}
				else
				{
					$proceso_obj=$this->mprocesos->loadProcesoById($proceso);
					$etapa=$proceso_obj->getIdEtapa();
					$estatus=$proceso_obj->getIdEstatus();
					$estatus_obj=$this->mestatus->LoadEstatusById($estatus);
					$estatus_str=$estatus_obj->getNombre();
					$etapa_obj=$this->metapas->LoadEtapaById($etapa);
					
					$etapa_str=$etapa_obj->GetNombre();
					
					$etapa_tiempo=$etapa_obj->GetTiempoEstimado();
					$ultimatransaccion=$this->CalcularDias($proceso_obj->getFechaProceso(),
					date('Y-m-d'));
				}
				$dias=$this->CalcularDias($compania->getFechaUsrCompania(),date('Y-m-d'));
				$porciento_bruto=($dias/$tiemposervicio)*100;
				//echo $porciento_bruto."<br/>";

				$colores_array_etapa=$this->mmodeloetapas->loadModeloEtapas();
				$colores_etapa=$colores_array_etapa[0];


				$bruto_etapa=($ultimatransaccion/$etapa_tiempo)*100;
				if ($bruto_etapa>=$colores_etapa->getVerdeModelo() and $bruto_etapa < $colores_etapa->getAmarilloModelo() or $bruto_etapa==0 or $bruto_etapa<0)
				{
					$imagen_etapa="<img src='http://company24h.com/c24h/public/images/1.png'/>";
				}
				elseif ($bruto_etapa>=$colores_etapa->getAmarilloModelo() and $bruto_etapa<$colores_etapa->getRojoModelo() )
				{
					$imagen_etapa="<img src='http://company24h.com/c24h/public/images/2.png'/>";
				}
				else
				{
					$imagen_etapa="<img src='http://company24h.com/c24h/public/images/3.png'/>";
				}

				$colores_array_servicio=$this->mmodeloservicios->loadModeloServicios();
				$colores_servicios=$colores_array_servicio[0];

				if (($porciento_bruto>=$colores_servicios->getVerdeModelo() and $porciento_bruto < $colores_servicios->getAmarilloModelo()) or $porciento_bruto<=0)
				{
					$imagen="<img src='http://company24h.com/c24h/public/images/1.png'/>";
				}
				elseif ($porciento_bruto >=$colores_servicios->getAmarilloModelo() and $porciento_bruto < $colores_servicios->getRojoModelo())
				{
					$imagen="<img src='http://company24h.com/c24h/public/images/2.png'/>";
				}
				else
				{
					$imagen="<img src='http://company24h.com/c24h/public/images/3.png'/>";
				}
				$responsable=$compania->getIdResponsable();
				$resp=$this->mresponsables->LoadresponsableById($responsable);

				$fecha=explode('-',$compania->getFechaUsrCompania());
				$fecha_final=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
				$arr = $json_output['rows'][] = array
				(
				'IdCompania'=>$compania->getIdCompania(),
				'NombreCompania'=>"<strong>".$compania->getNombreCompania()."</strong>",
				'IdServicio' => $servicio->getNombreServicio(),
				'IdJurisdiccion'=>$jurisdiccion->getNombreJurisdiccion(),
				'FechaUsrCompania'=>$fecha_final,
				'IdEtapa'=>$etapa_str,
				'IdEstatus'=>$estatus_str,
				'Etapa'=>$imagen_etapa,
				'Total'=>$imagen,
				'User'=>$user,
				'dias'=>$ultimatransaccion,
				'Responsable'=>$resp->getNombreResponsable(),
				'conctato'=>$compania->getContacto()
				
				);
			}
		}

		$a=json_encode($json_output);
		$a=str_replace('\\','',$a);
		echo $a;
	}

	
}
?>